home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / DATAUTIL / DBASEUT1.LZH / CATALOG.PRG < prev    next >
Text File  |  1986-02-28  |  29KB  |  1,541 lines

  1. PROCEDURE ADDDIR
  2. PARAMETER AD,ROW,DR,SEARCH,DKIND
  3. STOR 0 TO COMFLAG,TG
  4. STOR 'Y' TO MORE
  5. DO WHIL UPPER(MORE)='Y'
  6. CLEA
  7. DO WHIL AD=0
  8. SET COLOR TO W+
  9. @ 1,0 SAY 'DSK-CATV1.0'
  10. @ 1,36 SAY DTOC(DATE())
  11. @ 1,70 SAY 'JoLie(85)'
  12. SET COLOR TO W
  13. @ 10,20 SAY '                           '
  14. @ 1,0 SAY ' '
  15. TEXT
  16.                              ADD DIRECTORY OPTIONS
  17.  
  18.                [1] Auto catalog. Automatically logs with no entries
  19.                [2] Manual log. Add comments,catagory.
  20.                [3] Manual log & Display catagories.
  21.                [4] Auto comment
  22.                [5] Abort Add directory.
  23. ENDTEXT
  24. @ 10,20 SAY '                           '
  25. IF COMFLAG=1
  26. SET COLOR TO W+*
  27. @ 7,32 SAY '<= ON'
  28. SET COLOR TO W
  29. @ 10,20 SAY '<- Now enter catalog option'
  30. ELSE
  31. @ 7,32 SAY '      '
  32. ENDI
  33. SET TALK OFF
  34. PUBLIC START,FINISH,P
  35. STOR 0 TO START,FINISH
  36. STOR SPACE(29) TO P,FILLER
  37. STOR 'B' TO D
  38. STOR 'Y' TO COM
  39. STOR 6 TO RW
  40. STOR 'Y' TO MORE
  41. @ 10,0 SAY 'Enter option # :' GET AD PICTURE "9" RANGE 1,5
  42. READ
  43. CLEA GETS
  44. IF AD=4
  45. DO CASE
  46. CASE TG=0
  47. @ 7,32 SAY '<= ON'
  48. STOR 1 TO COMFLAG
  49. STOR SPACE(30) TO ACOM
  50. AD=0
  51. TG=1
  52. @ 14,0 CLEAR
  53. LOOP
  54. CASE TG=1
  55. @ 7,32 SAY '     '
  56. STOR 0 TO COMFLAG
  57. AD=0
  58. TG=0
  59. @ 14,0 CLEAR
  60. LOOP
  61. ENDC
  62. ENDI
  63. STOR 'NONE' TO IDSPEC
  64. @ 12,0 SAY 'Enter ID reference ' GET IDSPEC PICTURE "XXXX"
  65. IF COMFLAG=1
  66. @ 14,0 SAY 'Enter Comment ' GET ACOM
  67. ENDI
  68. READ
  69. CLEA GETS
  70. READ
  71. CLEA GETS
  72. IF IDSPEC=' '
  73. IDSPEC='NONE'
  74. ENDI
  75. IF AD=5
  76. EXIT
  77. ENDI
  78. ENDD
  79. CLEA
  80. SET COLOR TO W+
  81. @ 1,0 SAY 'DSK-CATV1.0'
  82. @ 1,36 SAY DTOC(DATE())
  83. @ 1,70 SAY 'JoLie(85)'
  84. SET COLOR TO W
  85. TEXT
  86.                          DUPLICATE RECORD PARAMETERS
  87.  
  88.  
  89.                          [1] Duplicate system off.
  90.                          [2] Log all files. Mark duplicates.
  91.                          [3] Log only new files. Filter dupes.
  92.                          [4] Auto delete duplicate file.
  93.  
  94.  
  95. ENDTEXT
  96. @ 20,0 SAY 'Enter option 'GET DR PICTURE "9" RANGE 1,4
  97. READ
  98. CLEA GETS
  99. CLEA
  100. SET COLOR TO W+
  101. @ 1,0 SAY 'DSK-CATV1.0'
  102. @ 1,36 SAY DTOC(DATE())
  103. @ 1,70 SAY 'JoLie(85)'
  104. SET COLOR TO W
  105. @ 4,0 SAY FILLER
  106. @ 3,0 SAY 'Enter Drive ' GET D PICTURE "X"
  107. @ 4,0 SAY 'Enter Path  ' GET P
  108. READ
  109. CLEA GETS
  110. @5,0 SAY 'Please wait while the files are entered into '+;
  111. 'the catalog.'
  112. SET TALK OFF
  113. STOR CHR(34)+D+':'+P+CHR(34) TO PT
  114. IF AD=1
  115. SET COLOR TO /W
  116. @ 6,28 SAY 'CATALOG SYSTEM IN PROGRESS'
  117. SET COLOR TO W
  118. RW=RW+1
  119. IF RW>=21
  120. @ 7,0 CLEAR
  121. RW=7
  122. ENDI
  123. @ RW,0 SAY &PT
  124. ENDI
  125. DO READIR WITH &PT,"CATALOG"
  126. @ 22,0 SAY 'Enter another [Y/N] ' GET MORE PICTURE "X"
  127. READ
  128. CLEA GETS
  129. CLEA
  130. IF UPPER(MORE)='N'
  131. CLOSE DATABASES
  132. RETU
  133. ELSE
  134. AD=0
  135. ENDI
  136. ENDD
  137. PROCEDURE READIR
  138. close databases
  139. parameters pathspec,catfile
  140. select 1
  141. USE &DP:catspec
  142. SET TALK off
  143. SET safety off
  144. STOR SPACE(30) TO PATHFILT
  145. STOR 0 TO RECORD_NO
  146. zap
  147. @ 20,0 SAY 'PREPARING DIRECTORY'
  148. IF file('&DP:catdir.txt')
  149. ERAS &DP:catdir.txt
  150. ENDI
  151. cmd='dir ' + pathspec + '>&DP:catdir.txt'
  152. run &cmd
  153. IF file('&DP:catdir.txt')
  154. APPE from &DP:catdir.txt for recno()<=3 sdf
  155. IF recno()>=3
  156. GOTO 2
  157. voln=upper(trim(substr(line,23,11)))
  158. GOTO 3
  159. pathn=upper(trim(substr(line,at('\',line),29)))
  160. PATHFILT=UPPER(SUBSTR(LINE,AT('\',LINE),29))
  161. @ 20,0 SAY 'NOW DIRECTING DATA      '
  162. copy file &DP:catwork.dbf to &DP:cattemp.dbf
  163. USE &DP:cattemp alias temp
  164. APPE from &DP:catdir.txt sdf
  165. SET filter to size>0
  166. select 2
  167. IF .not. file('&DP:&catfile..dbf')
  168. @ 20,0 SAY 'PREPARING DATA FILE'
  169. copy file &DP:catnew.dbf to &DP:&catfile..dbf
  170. ENDI
  171. USE &DP:&catfile INDEX &IN:NAME_EXT
  172. SELECT 2
  173. GOTO bottom
  174. START=RECNO()
  175. select temp
  176. GOTO top
  177. CLEA
  178. STOR SPACE(12) TO PREVIOUS
  179. STOR 3 TO ROW
  180. IF AD=3
  181. STOR 7 TO ROW
  182. ENDI
  183. STOR 0 TO COL,CT,DFLAG
  184. DO WHIL .not. eof()
  185. select &catfile
  186. IF DR<>3
  187. APPE BLAN
  188. @ 22,0 SAY '                     '
  189. RECORD_NO=RECNO()
  190. ENDI
  191. CT=CT+1
  192. SEARCH=TRIM(TEMP->NAME)
  193. DKIND=TRIM(TEMP->EXT)
  194. SET COLOR TO /W
  195. IF DR=2
  196. SEEK SEARCH-DKIND
  197. IF .NOT. EOF()
  198. @ 22,0 SAY SEARCH+'.'+DKIND+' '+CHR(17)+'- DUPE'
  199. SET BELL ON
  200. ?? CHR(7)
  201. SET BELL OFF
  202. GO RECORD_NO
  203. REPL DUPE WITH '*'
  204. ELSE
  205. GO RECORD_NO
  206. ENDI
  207. ENDI
  208. IF DR=3
  209. DO WHIL .T.
  210. DFLAG=0
  211. SEEK SEARCH-DKIND
  212. IF .NOT. EOF()
  213. SET BELL ON
  214. ?? CHR(7)
  215. SET BELL OFF
  216. @ 22,0 SAY CHR(16)+' DUPLICATE Not entered into catalog '+CHR(17)
  217. DFLAG=1
  218. EXIT
  219. ELSE
  220. APPE BLAN
  221. RECORD_NO=RECNO()
  222. GO RECORD_NO
  223. EXIT
  224. ENDI
  225. ENDD
  226. ENDI
  227. IF DR<>4 .AND. DFLAG=0
  228. GO RECORD_NO
  229. REPL name with temp->name,ext with temp->ext,        ;
  230. size with temp->size,date with ctod(temp->date),;
  231. time with substr(temp->time,3),vol with voln
  232. REPL path with pathn
  233. NAME=TRIM(NAME)
  234. EXT=TRIM(EXT)
  235. VOL=TRIM(VOL)
  236. PATH=TRIM(PATH)
  237. REPL ID WITH TRIM(IDSPEC)
  238. IF SUBSTR(VOL,1,3)=' NO'
  239. REPL VOL WITH 'NO LABEL'
  240. ENDI
  241. IF SUBSTR(PATHFILT,1,2)='\ '
  242. REPL PATH WITH '\ROOT DIRECTORY'
  243. ENDI
  244. SET COLOR TO U+
  245. @ 1,0 SAY '===============================>              '+;
  246. ' <================================'
  247. IF AD=1
  248. @ 1,33 SAY 'AUTO  CATALOG'
  249. ELSE
  250. @ 1,33 SAY 'COMMENT ENTRY'
  251. ENDI
  252. SET COLOR TO W
  253. IF AD=3
  254. DO CATVIEW
  255. IF ROW>20
  256. ROW=7
  257. ENDI
  258. ENDI
  259. IF PREVIOUS>' '
  260. @ ROW,COL SAY PREVIOUS+CHR(186)
  261. COL=COL+13
  262. IF COL>=78
  263. COL=0
  264. ROW=ROW+1
  265. ENDI
  266. IF ROW>=20 .AND. AD<>3
  267. ROW=3
  268. ENDI
  269. ENDI
  270. SET COLOR TO /W
  271. @ 20,0 SAY 'FILE           SIZE   VOLUME      DATE'+;
  272. '     PATH      Added :'
  273. @ 20,60 SAY STR(CT-1,3)+' Record(s)'
  274. SET COLOR TO U+
  275. @ 21,0 SAY NAME+'.'+EXT+'  '+STR(SIZE,6)+;
  276. '  '+VOL+' '+DTOC(DATE)+' '+PATH
  277. PREVIOUS=NAME+'.'+EXT
  278. SET COLOR TO W
  279. IF AD=1 .AND. COMFLAG=1
  280. REPL COMMENTS WITH ACOM
  281. @ 23,0 SAY 'AUTO COMMENT: '+ACOM
  282. @ 23,50 SAY 'ID: '+IDSPEC
  283. ENDI
  284. IF AD=2 .OR. AD=3
  285. IF COMFLAG=1
  286. REPL COMMENTS WITH ACOM
  287. @ 23,0 SAY 'AUTO COMMENT: '+ACOM
  288. ELSE
  289. @ 23,0 SAY 'Comments: ' GET COMMENTS
  290. @ 23,50 SAY 'ID: '+IDSPEC
  291. ENDI
  292. @ 23,60 SAY 'Catagory: ' GET CAT
  293. READ
  294. CLEA GETS
  295. ENDI
  296. ENDI
  297. select temp
  298. SKIP
  299. ENDD
  300. FINISH=RECNO()
  301. ENDI
  302. ENDI
  303. close databases
  304. ERAS catdir.txt
  305. ERAS cattemp.dbf
  306. SET safety on
  307. SET COLOR TO W
  308. @ 20,0 CLEAR
  309. RETU
  310. PROCEDURE ADDFILE
  311. SET TALK OFF
  312. STOR 'Y' TO ANOTHER
  313. STOR 0 TO BY
  314. STOR '        ' TO SN,SE
  315. SELECT 2
  316. USE &DP:CATALOG INDEX &IN:NAME_EXT
  317. DO WHIL UPPER(ANOTHER)='Y'
  318. CLEA
  319. SET COLOR TO W+
  320. @ 1,0 SAY 'DSK-CATV1.0'
  321. @ 1,36 SAY DTOC(DATE())
  322. @ 1,70 SAY 'JoLie(85)'
  323. @ 3,32 SAY 'ADD FILE OPTIONS'
  324. SET COLOR TO W
  325. @ 8,27 SAY '[1] Enter dupes to database'
  326. @ 9,31 SAY     'and log to dupe file'
  327. @ 11,27 SAY '[2] Do not allow duplicates.'
  328. @ 20,0 SAY 'Enter choice ' GET BY PICTURE "9" RANGE 1,2
  329. READ
  330. CLEA GETS
  331. SET COLOR TO W
  332. SELECT 2
  333. STOR 0 TO ADRECNO
  334. APPE BLAN
  335. ADRECNO=RECNO()
  336. DO WHIL .T.
  337. CLEA
  338. SET COLOR TO W+
  339. @ 1,0 SAY 'DSK-CATV1.0'
  340. @ 1,36 SAY DTOC(DATE())
  341. @ 1,70 SAY 'JoLie(85)'
  342. @ 3,32 SAY 'ADD  NEW  FILE'
  343. SET COLOR TO W
  344. STOR SPACE(8) TO SN,SE
  345. @ 7,0 SAY 'Record number :'+STR(RECNO())
  346. @ 9,0 SAY 'File name :' GET SN PICTURE "XXXXXXXX"
  347. @ 9,20 SAY '.' GET SE PICTURE "XXX"
  348. READ
  349. CLEA GETS
  350. SN=TRIM(SN)
  351. SE=TRIM(SE)
  352. SEEK SN-SE
  353. IF .NOT. EOF()
  354. SET BELL ON
  355. ?? CHR(7)
  356. SET BELL OFF
  357. @ 9,27 SAY '<- THIS IS ALREADY IN THE CATALOG'
  358. IF BY=1
  359. GO ADRECNO
  360. @ 10,30 SAY 'Marking  file into DUPE system'
  361. REPL DUPE WITH '*'
  362. REPL NAME WITH SN,EXT WITH SE
  363. @ 11,0 SAY CHR(17)+NAME+'.'+EXT+CHR(16)
  364. @ 12,0 SAY 'Size      :' GET SIZE
  365. @ 13,0 SAY 'Date      :' GET DATE
  366. @ 14,0 SAY 'Volume    :' GET VOL
  367. @ 15,0 SAY 'Catagory  :' GET CAT
  368. @ 16,0 SAY 'ID        :' GET ID
  369. @ 17,0 SAY 'Comments  :' GET COMMENTS
  370. READ
  371. CLEA GETS
  372. NAME=TRIM(NAME)
  373. EXT=TRIM(EXT)
  374. VOL=TRIM(VOL)
  375. PATH=TRIM(PATH)
  376. ID=TRIM(ID)
  377. EXIT
  378. ELSE
  379. GO ADRECNO
  380. LOOP
  381. EXIT
  382. ENDI
  383. ENDI
  384. GO ADRECNO
  385. REPL NAME WITH SN,EXT WITH SE
  386. @ 11,0 SAY CHR(17)+NAME+'.'+EXT+CHR(16)
  387. @ 12,0 SAY 'Size      :' GET SIZE
  388. @ 13,0 SAY 'Date      :' GET DATE
  389. @ 14,0 SAY 'Volume    :' GET VOL
  390. @ 15,0 SAY 'Catagory  :' GET CAT
  391. @ 16,0 SAY 'ID        :' GET ID
  392. @ 17,0 SAY 'Comments  :' GET COMMENTS
  393. READ
  394. CLEA GETS
  395. NAME=TRIM(NAME)
  396. EXT=TRIM(EXT)
  397. VOL=TRIM(VOL)
  398. PATH=TRIM(PATH)
  399. ID=TRIM(ID)
  400. EXIT
  401. ENDD
  402. @ 20,0 SAY 'ANOTHER ?[Y/N]' GET ANOTHER PICTURE "X"
  403. READ
  404. CLEA GETS
  405. IF UPPER(ANOTHER)='N'
  406. CLOSE DATABASES
  407. RETU
  408. ELSE
  409. ANOTHER='Y'
  410. ENDI
  411. ENDD
  412. RETU
  413. PROCEDURE DISPOPT
  414. PARAMETER DCHOICE,SPEC,RW,VL,CT,ACC,TOT,FLAG
  415. SET DELETED ON
  416. DO CASE
  417. CASE DCHOICE=1
  418. CLEA
  419. USE &DP:CATALOG
  420. DISP OFF ALL NAME,EXT,SIZE,DATE,VOL,PATH
  421. WAIT
  422. RETU
  423. CASE DCHOICE=2
  424. STOR 0 TO CT,ACC,TOT
  425. CLEA
  426. SET COLOR TO U+
  427. @ 1,0 SAY 'NAME           SIZE     CAT      PATH      '+;
  428. '                 VOLUME     ID#'
  429. SET COLOR TO U+*
  430. IF VL=2
  431. @ 1,60 SAY 'VOLUME'
  432. ELSE
  433. @ 1,71 SAY 'ID#'
  434. ENDI
  435. SET COLOR TO W
  436. IF VL=1
  437. USE &DP:CATALOG INDEX &IN:ID
  438. ELSE
  439. USE &DP:CATALOG INDEX &IN:VOLUME
  440. ENDI
  441. SEEK SPEC
  442. DO WHIL .NOT. EOF()
  443. DO CASE
  444. CASE VL=1
  445. IF TRIM(ID)<>SPEC
  446. EXIT
  447. ENDI
  448. CASE VL=2
  449. IF TRIM(VOL)<>SPEC
  450. EXIT
  451. ENDI
  452. ENDC
  453. CT=CT+1
  454. ACC=ACC+SIZE
  455. RW=RW+1
  456. IF RW>=23
  457. RW=2
  458. WAIT
  459. @ 0,0 CLEAR
  460. SET COLOR TO U+
  461. @ 1,0 SAY 'NAME           SIZE     CAT      PATH      '+;
  462. '                 VOLUME     ID#'
  463. SET COLOR TO U+*
  464. IF VL=2
  465. @ 1,60 SAY 'VOLUME'
  466. ELSE
  467. @ 1,71 SAY 'ID#'
  468. ENDI
  469. SET COLOR TO W
  470. ENDI
  471. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+CAT+'  '+;
  472. ' '+PATH+' '+VOL+' '+ID
  473. IF DUPE='*'
  474. @ RW,13 SAY CHR(15)
  475. ENDI
  476. SKIP
  477. ENDD
  478. WAIT
  479. CLEA
  480. SET COLOR TO W+
  481. @ 1,0 SAY 'DSK-CATV1.0'
  482. @ 1,36 SAY DTOC(DATE())
  483. @ 1,70 SAY 'JoLie(85)'
  484. SET COLOR TO W
  485. @ 2,0 SAY 'Statistics: '+SPEC
  486. @ 4,0 SAY 'Total files = '+STR(CT)
  487. @ 6,0 SAY 'Total bytes =   '+STR(ACC)
  488. @ 8,0 say '360K Drive  = '
  489. @ 8,30 SAY 'Estimated bytes remaining'
  490. @ 9,30 SAY 'Estimated bytes remaining'
  491. @ 8,15 SAY 362000-ACC
  492. @ 9,15 SAY 321000-ACC
  493. @ 9,0 SAY '320K Drive  = '
  494. ?
  495. ?
  496. WAIT
  497. RETU
  498. CASE DCHOICE=3
  499. STOR 0 TO CT,ACC
  500. CLEA
  501. SET COLOR TO U+
  502. @ 1,0 SAY 'NAME            SIZE    DATE     PATH      '+;
  503. '                    VOLUME     '
  504. SET COLOR TO U+*
  505. @ 1,33 SAY 'PATH'
  506. SET COLOR TO W
  507. USE &DP:CATALOG INDEX &IN:PATH
  508. FIND "&SPEC"
  509. DO WHIL .NOT. EOF()
  510. IF PATH=SPEC
  511. RW=RW+1
  512. CT=CT+1
  513. ACC=ACC+SIZE
  514. IF RW>=23
  515. RW=2
  516. WAIT
  517. @ 0,0 CLEAR
  518. SET COLOR TO U+
  519. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  520. '                    VOLUME     '
  521. SET COLOR TO U+*
  522. @ 1,33 SAY 'PATH'
  523. SET COLOR TO W
  524. ENDI
  525. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+;
  526. ' '+PATH+' '+VOL
  527. IF DUPE='*'
  528. @ RW,13 SAY CHR(15)
  529. ENDI
  530. ENDI
  531. SKIP
  532. ENDD
  533. WAIT
  534. CLEA
  535. SET COLOR TO W+
  536. @ 1,0 SAY 'DSK-CATV1.0'
  537. @ 1,36 SAY DTOC(DATE())
  538. @ 1,70 SAY 'JoLie(85)'
  539. SET COLOR TO W
  540. @ 2,0 SAY 'Statistics: '+SPEC
  541. @ 4,0 SAY 'Total files = '+STR(CT)
  542. @ 6,0 SAY 'Total bytes = '+STR(ACC)+' used in this sub-dir.'
  543. ?
  544. ?
  545. WAIT
  546. RETU
  547. CASE DCHOICE=4
  548. CLEA
  549. SET COLOR TO U+
  550. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  551. '                    VOLUME     '
  552. SET COLOR TO U+*
  553. @ 1,9 SAY 'EXT'
  554. SET COLOR TO W
  555. USE &DP:CATALOG INDEX &IN:EXTENSN
  556. SEEK SPEC
  557. DO WHIL .NOT. EOF()
  558. IF TRIM(EXT)<>TRIM(SPEC)
  559. EXIT
  560. ENDI
  561. RW=RW+1
  562. IF RW>=23
  563. RW=2
  564. WAIT
  565. @ 0,0 CLEAR
  566. SET COLOR TO U+
  567. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  568. '                    VOLUME     '
  569. SET COLOR TO U+*
  570. @ 1,9 SAY 'EXT'
  571. SET COLOR TO W
  572. ENDI
  573. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+;
  574. ' '+PATH+' '+VOL
  575. IF DUPE='*'
  576. @ RW,13 SAY CHR(15)
  577. ENDI
  578. SKIP
  579. ENDD
  580. WAIT
  581. RETU
  582. CASE DCHOICE=5
  583. CLEA
  584. SET COLOR TO U+
  585. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  586. '                    VOLUME     '
  587. SET COLOR TO U+*
  588. @ 1,5 SAY 'STRING'
  589. SET COLOR TO W
  590. SPEC=TRIM(SPEC)
  591. USE &DP:CATALOG INDEX &IN:NAME_EXT
  592. SEEK SPEC
  593. DO WHIL .NOT. EOF()
  594. IF TRIM(NAME)=SPEC
  595. RW=RW+1
  596. IF RW>=23
  597. RW=2
  598. WAIT
  599. @ 0,0 CLEAR
  600. SET COLOR TO U+
  601. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  602. '                    VOLUME     '
  603. SET COLOR TO U+*
  604. @ 1,5 SAY 'DUP'
  605. SET COLOR TO W
  606. ENDI
  607. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+;
  608. ' '+PATH+' '+VOL
  609. IF DUPE='*'
  610. @ RW,13 SAY CHR(15)
  611. ENDI
  612. ENDI
  613. SKIP
  614. ENDD
  615. WAIT
  616. RETU
  617. CASE DCHOICE=6
  618. CLEA
  619. SET COLOR TO U+
  620. @ 1,0 SAY 'NAME           SIZE     COMMENTS              '+;
  621. '           VOLUME     CAT ID# '
  622. SET COLOR TO U+*
  623. @ 1,24 SAY 'COMMENTS'
  624. @ 1,68 SAY 'CAT'
  625. SET COLOR TO W
  626. USE &DP:CATALOG INDEX &IN:CATAGORY
  627. FIND "&SPEC"
  628. DO WHIL .NOT. EOF()
  629. IF TRIM(CAT)=SPEC
  630. RW=RW+1
  631. IF RW>=23
  632. RW=2
  633. WAIT
  634. @ 0,0 CLEAR
  635. SET COLOR TO U+
  636. @ 1,0 SAY 'NAME           SIZE    COMMENTS              '+;
  637. '           VOLUME      CAT ID# '
  638. SET COLOR TO U+*
  639. @ 1,24 SAY 'COMMENTS'
  640. @ 1,68 SAY 'CAT'
  641. SET COLOR TO W
  642. ENDI
  643. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+COMMENTS+' '+;
  644. ' '+VOL+' '+CAT+'  '+ID
  645. IF DUPE='*'
  646. @ RW,13 SAY CHR(15)
  647. ENDI
  648. ENDI
  649. SKIP
  650. ENDD
  651. WAIT
  652. RETU
  653. CASE DCHOICE=7
  654. CLEA
  655. USE &DP:CATALOG
  656. DISP OFF FOR DATE=CTOD(SPEC) NAME,EXT,SIZE,DATE,TIME,VOL,CAT,ID
  657. WAIT
  658. RETU
  659. CASE DCHOICE=8
  660. CLEA
  661. SET COLOR TO U+
  662. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  663. '               VOLUME       ID#  CAT'
  664. SET COLOR TO U+*
  665. @ 1,76 SAY 'CAT'
  666. SET COLOR TO W
  667. USE &DP:CATALOG INDEX &IN:CATAGORY
  668. FIND "&SPEC"
  669. DO WHIL .NOT. EOF()
  670. IF TRIM(CAT)=SPEC
  671. RW=RW+1
  672. IF RW>=23
  673. RW=2
  674. WAIT
  675. @ 0,0 CLEAR
  676. SET COLOR TO U+
  677. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  678. '               VOLUME       ID#  CAT'
  679. SET COLOR TO U+*
  680. @ 1,76 SAY 'CAT'
  681. SET COLOR TO W
  682. ENDI
  683. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+;
  684. ' '+SUBSTR(PATH,1,25)+' '+VOL+' '+ID+' '+CAT
  685. IF DUPE='*'
  686. @ RW,13 SAY CHR(15)
  687. ENDI
  688. ENDI
  689. SKIP
  690. ENDD
  691. WAIT
  692. RETU
  693. CASE DCHOICE=9
  694. SPEC=TRIM(SPEC)
  695. CLEA
  696. SET COLOR TO U+
  697. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  698. '                    VOLUME  CAT  ID#'
  699. SET COLOR TO U+*
  700. @ 1,5 SAY 'STRING'
  701. SET COLOR TO W
  702. USE &DP:CATALOG
  703. LOCA FOR SUBSTR(NAME,1,(LEN(SPEC)))=TRIM(SPEC)
  704. DO WHIL SUBSTR(NAME,1,(LEN(SPEC)))=TRIM(SPEC) .AND. .NOT. EOF()
  705. RW=RW+1
  706. IF RW>=23
  707. RW=2
  708. WAIT
  709. @ 0,0 CLEAR
  710. SET COLOR TO U+
  711. @ 1,0 SAY 'NAME           SIZE     DATE     PATH      '+;
  712. '               VOLUME       CAT ID#'
  713. SET COLOR TO U+*
  714. @ 1,5 SAY 'STRING'
  715. SET COLOR TO W
  716. ENDI
  717. @ RW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+;
  718. ' '+SUBSTR(PATH,1,25)+' '+VOL+' '+CAT+'  '+ID
  719. IF DUPE='*'
  720. @ RW,13 SAY CHR(15)
  721. ENDI
  722. CONT
  723. ENDD
  724. WAIT
  725. RETU
  726. CASE DCHOICE=0
  727. CLOSE DATABASES
  728. STOR 0 TO FLAG
  729. RETU
  730. ENDC
  731. ENDD
  732. RETU
  733. PROCEDURE CATVIEW
  734. SET COLOR TO W+
  735. @ 2,34 SAY CHR(17)+'CATAGORIES'+CHR(16)
  736. SET COLOR TO W
  737. @ 3,0 SAY L1
  738. @ 4,0 SAY L2
  739. @ 5,0 SAY L3
  740. @ 6,0 SAY '================================================================================'
  741. RETU
  742. PROCEDURE UTILITIES
  743. PARAMETER UCHOICE,FLAG
  744. SET TALK OFF
  745. CLEA
  746. STOR 0 TO UOPT
  747. STOR SPACE(64) TO USPEC
  748. CLEA
  749. DO CASE
  750. CASE UCHOICE=1
  751. SET COLOR TO W+
  752. @ 1,0 SAY 'DSK-CATV1.0'
  753. @ 1,36 SAY DTOC(DATE())
  754. @ 1,70 SAY 'JoLie(85)'
  755. SET COLOR TO W
  756. @ 5,33 SAY 'READ DIRECTORY'
  757. @ 7,33 SAY '[1] dBASE Files'
  758. @ 8,33 SAY '[2] All Files'
  759. @ 9,33 SAY '[3] Return'
  760. STOR 0 TO WDIR
  761. @ 20,20 SAY 'Enter choice ' GET WDIR PICTURE "9" RANGE 1,3
  762. READ
  763. CLEA GETS
  764. STOR DP+':'+SPACE(27) TO USPEC
  765. @ 21,0 SAY 'Drive Spec ' GET USPEC
  766. READ
  767. CLEA GETS
  768. IF WDIR=0
  769. RETU
  770. ENDI
  771. CLEA
  772. IF WDIR=1
  773. DIR &USPEC
  774. ELSE
  775. !DIR &USPEC
  776. ENDI
  777. WAIT
  778. CASE UCHOICE=2
  779. SET COLOR TO W+
  780. @ 1,0 SAY 'DSK-CATV1.0'
  781. @ 1,36 SAY DTOC(DATE())
  782. @ 1,70 SAY 'JoLie(85)'
  783. SET COLOR TO W
  784. @ 5,33 SAY 'DELETE A FILE'
  785. SET COLOR TO W+*
  786. @ 7,0 SAY 'WARNING !!'
  787. SET COLOR TO W
  788. @ 7,20 SAY 'This will erase the specified file.'
  789. @ 8,20 SAY 'press RETURN to abort.'
  790. @ 10,0 SAY 'File Spec ' GET USPEC
  791. READ
  792. CLEA GETS
  793. IF USPEC>' '
  794. !DEL &USPEC
  795. ELSE
  796. @ 20,40 SAY 'DELETE ABORTED'
  797. RETU
  798. ENDI
  799. CASE UCHOICE=3
  800. SET COLOR TO W+
  801. @ 1,0 SAY 'DSK-CATV1.0'
  802. @ 1,36 SAY DTOC(DATE())
  803. @ 1,70 SAY 'JoLie(85)'
  804. SET COLOR TO W
  805. @ 5,35 SAY 'COPY  FILE'
  806. @ 10,0 SAY 'File Spec ' GET USPEC
  807. READ
  808. CLEA GETS
  809. !COPY &USPEC
  810. CASE UCHOICE=4
  811. SET COLOR TO W+
  812. @ 1,0 SAY 'DSK-CATV1.0'
  813. @ 1,36 SAY DTOC(DATE())
  814. @ 1,70 SAY 'JoLie(85)'
  815. SET COLOR TO W
  816. @ 5,34 SAY 'VIEW A FILE'
  817. @ 7,0 SAY 'Use Ctrl-NumLock to freeze display.'
  818. @ 10,0 SAY 'File Spec ' GET USPEC
  819. READ
  820. CLEA GETS
  821. !TYPE &USPEC
  822. WAIT
  823. CASE UCHOICE=5
  824. SET COLOR TO W+
  825. @ 1,0 SAY 'DSK-CATV1.0'
  826. @ 1,36 SAY DTOC(DATE())
  827. @ 1,70 SAY 'JoLie(85)'
  828. SET COLOR TO W
  829. @ 5,34 SAY 'PRINT A FILE'
  830. SET COLOR TO W+*
  831. @ 7,0 SAY 'WARNING !!'
  832. SET COLOR TO W
  833. @ 7,20 SAY 'Make sure that your printer is ready.'
  834. @ 10,0 SAY 'File Spec ' GET USPEC
  835. READ
  836. CLEA GETS
  837. SET PRIN ON
  838. !TYPE &USPEC
  839. SET PRIN OFF
  840. CASE UCHOICE=6
  841. SET COLOR TO W+
  842. @ 1,0 SAY 'DSK-CATV1.0'
  843. @ 1,36 SAY DTOC(DATE())
  844. @ 1,70 SAY 'JoLie(85)'
  845. SET COLOR TO W
  846. @ 5,33 SAY 'RENAME A FILE'
  847. @ 10,0 SAY 'File Spec ' GET USPEC
  848. READ
  849. CLEA GETS
  850. !REN &USPEC
  851. CASE UCHOICE=7
  852. SET COLOR TO W+
  853. @ 1,0 SAY 'DSK-CATV1.0'
  854. @ 1,36 SAY DTOC(DATE())
  855. @ 1,70 SAY 'JoLie(85)'
  856. SET COLOR TO W
  857. @ 5,31 SAY 'DOS PATH FUNCTION'
  858. @ 10,0 SAY 'File Spec ' GET USPEC
  859. READ
  860. CLEA GETS
  861. !PATH &USPEC
  862. CASE UCHOICE=8
  863. SET COLOR TO W+
  864. @ 1,0 SAY 'DSK-CATV1.0'
  865. @ 1,36 SAY DTOC(DATE())
  866. @ 1,70 SAY 'JoLie(85)'
  867. SET COLOR TO W
  868. @ 3,33 SAY 'SUB DIRECTORY'
  869. @ 5,40 SAY '[1] Make Directory   {MD}'
  870. @ 6,40 SAY '[2] Remove Directory {RD}'
  871. @ 7,40 SAY 'Enter option ' GET UOPT PICTURE "9" RANGE 1,2
  872. READ
  873. CLEA GETS
  874. @ 10,0 SAY 'File Spec ' GET USPEC
  875. READ
  876. CLEA GETS
  877. IF UOPT=1
  878. SET COLOR TO W+*
  879. @ 5,66 SAY '<='
  880. !MD &USPEC
  881. ELSE
  882. @ 6,66 SAY '<='
  883. !RD &USPEC
  884. SET COLOR TO W
  885. ENDI
  886. CASE UCHOICE=9
  887. STOR 0 TO UMAIN
  888. DO WHIL UMAIN<>5
  889. CLEA
  890. SET COLOR TO W+
  891. @ 1,0 SAY 'DSK-CATV1.0'
  892. @ 1,36 SAY DTOC(DATE())
  893. @ 1,70 SAY 'JoLie(85)'
  894. SET COLOR TO W
  895. @ 5,32 SAY 'dBASE Maintenance'
  896. TEXT
  897.  
  898.  
  899.                             [1] Recall deleted records.
  900.                             [2] Pack database.
  901.                             [3] ZAP database.
  902.                             [4] Re-Index.
  903.                             [5] EXIT Maint. System.
  904. ENDTEXT
  905. @ 20,0 SAY 'Enter choice ' GET UMAIN PICTURE "9" RANGE 1,5
  906. READ
  907. CLEA GETS
  908. IF UMAIN=1
  909. @ 22,0 CLEAR
  910. STOR DP+':CATALOG INDEX '+IN+':NAME_EXT'+SPACE(37) TO USPEC
  911. @ 22,0 SAY 'Enter Data base ' GET USPEC
  912. READ
  913. CLEA GETS
  914. USE &USPEC
  915. RECA ALL
  916. @ 23,0 SAY 'Recalling all deleted records. Please wait...'
  917. LOOP
  918. ENDI
  919. IF UMAIN=2
  920. CLEA
  921. SET COLOR TO W+
  922. @ 1,0 SAY 'DSK-CATV1.0'
  923. @ 1,36 SAY DTOC(DATE())
  924. @ 1,70 SAY 'JoLie(85)'
  925. SET COLOR TO W
  926. STOR '&DP:CATALOG INDEX &IN:NAME_EXT'+SPACE(38) TO USPEC
  927. @ 5,33 SAY 'CLEAN DATABASE'
  928. @ 7,0 SAY 'This will delete any records marked for deletion.'
  929. @ 8,0 SAY 'To PACK the catalog press RETURN'
  930. @ 11,0 SAY 'Database ' GET USPEC
  931. READ
  932. CLEA GETS
  933. USE &USPEC
  934. PACK
  935. LOOP
  936. ENDI
  937. IF UMAIN=3
  938. CLEA
  939. SET COLOR TO W+
  940. @ 1,0 SAY 'DSK-CATV1.0'
  941. @ 1,36 SAY DTOC(DATE())
  942. @ 1,70 SAY 'JoLie(85)'
  943. SET COLOR TO W
  944. STOR '&DP:CATALOG INDEX &IN:NAME_EXT'+SPACE(38) TO USPEC
  945. @ 5,33 SAY 'CLEAR DATABASE'
  946. SET COLOR TO W+*
  947. @ 7,0 SAY 'WARNING !!'
  948. SET COLOR TO W
  949. @ 7,20 SAY 'THIS WILL REMOVE ALL RECORDS FROM THE DATABASE'
  950. @ 10,0 SAY 'Database ' GET USPEC
  951. READ
  952. CLEA GETS
  953. USE &USPEC
  954. ZAP
  955. LOOP
  956. ENDI
  957. IF UMAIN=4
  958. CLEA
  959. SET COLOR TO W+
  960. @ 1,0 SAY 'DSK-CATV1.0'
  961. @ 1,36 SAY DTOC(DATE())
  962. @ 1,70 SAY 'JoLie(85)'
  963. SET COLOR TO W
  964. @ 5,33 SAY 'REINDEX DATABASE'
  965. USE &DP:CATALOG
  966. SET INDE TO &IN:NAME_EXT
  967. ? 'Re-Indexing File names'
  968. REINDEX
  969. CLOSE INDEXES
  970. SET INDE TO &IN:EXTENSN
  971. ? 'Re-Indexing File extensions'
  972. REINDEX
  973. CLOSE INDEXES
  974. SET INDE TO &IN:CATAGORY
  975. ? 'Re-Indexing catagories'
  976. REINDEX
  977. CLOSE INDEXES
  978. SET INDE TO &IN:DUPE
  979. REINDEX
  980. CLOSE INDEXES
  981. SET INDE TO &IN:PATH
  982. ? 'Re-Indexing paths'
  983. REINDEX
  984. CLOSE INDEXES
  985. SET INDE TO &IN:VOLUME
  986. ? 'Re-Indexing volumes'
  987. REINDEX 
  988. CLOSE INDEXES
  989. SET INDE TO &IN:ID
  990. ? 'Re-Indexing ID'
  991. REINDEX
  992. CLOSE INDEXES
  993. LOOP
  994. ENDI
  995. IF UMAIN=5
  996. CLOSE DATABASES
  997. EXIT
  998. ENDI
  999. ENDD
  1000. CASE UCHOICE=0
  1001. CLOSE DATABASES
  1002. STOR 0 TO FLAG
  1003. RETU
  1004. ENDC
  1005. CLOSE DATABASES
  1006. RETU
  1007. PROCEDURE DUPOPT
  1008. PARAMETERS XCHOICE,DSPEC,DEXT
  1009. STOR 'NAME     .EXT   SIZE     DATE    ID   PATH                          CAT        ' TO HEAD
  1010. CLEA
  1011. SET TALK OFF
  1012. USE &DP:CATALOG
  1013. DO CASE
  1014. CASE XCHOICE=1
  1015. STOR 2 TO ROW
  1016. SET COLOR TO W+
  1017. @ 1,0 SAY 'DSK-CATV1.0'
  1018. @ 1,24 SAY DTOC(DATE())+' DUPE SYSTEM'
  1019. @ 1,70 SAY 'JoLie(85)'
  1020. SET COLOR TO U+
  1021. @ 2,0 SAY HEAD
  1022. SET COLOR TO W
  1023. LOCA FOR DUPE='*'
  1024. DO WHIL DUPE='*' .AND. .NOT. EOF()
  1025. ROW=ROW+1
  1026. IF ROW>=22
  1027. ROW=3
  1028. WAIT
  1029. @ 3,0 CLEAR
  1030. ENDI
  1031. @ ROW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+' '+;
  1032. ID+' '+PATH+' '+CAT
  1033. CONT
  1034. ENDD
  1035. WAIT
  1036. CASE XCHOICE=2
  1037. STOR 2 TO ROW
  1038. SET COLOR TO W+
  1039. @ 1,0 SAY 'DSK-CATV1.0'
  1040. @ 1,24 SAY DTOC(DATE())+' DUPE SYSTEM'
  1041. @ 1,70 SAY 'JoLie(85)'
  1042. SET COLOR TO U+
  1043. @ 2,0 SAY HEAD
  1044. SET COLOR TO W
  1045. LOCA FOR DUPE='*' .AND. NAME=DSPEC .AND. EXT=DEXT
  1046. DO WHIL NAME=DSPEC .AND. EXT=DEXT
  1047. ROW=ROW+1
  1048. IF ROW>=22
  1049. ROW=3
  1050. WAIT
  1051. @ 3,0 CLEAR
  1052. ENDI
  1053. @ ROW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+' '+;
  1054. ID+' '+PATH+' '+CAT
  1055. CONT
  1056. ENDD
  1057. WAIT
  1058. CASE XCHOICE=3
  1059. STOR 2 TO ROW
  1060. SET COLOR TO W+
  1061. @ 1,0 SAY 'DSK-CATV1.0'
  1062. @ 1,24 SAY DTOC(DATE())+' DUPE SYSTEM'
  1063. @ 1,70 SAY 'JoLie(85)'
  1064. SET COLOR TO U+
  1065. @ 2,0 SAY HEAD
  1066. SET COLOR TO W
  1067. LOCA FOR DUPE='*' .AND. PATH=DSPEC
  1068. DO WHIL PATH=DSPEC
  1069. ROW=ROW+1
  1070. IF ROW>=22
  1071. ROW=3
  1072. WAIT
  1073. @ 3,0 CLEAR
  1074. ENDI
  1075. @ ROW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+' '+;
  1076. ID+' '+PATH+' '+CAT
  1077. CONT
  1078. ENDD
  1079. WAIT
  1080. CASE XCHOICE=4
  1081. STOR 2 TO ROW
  1082. SET COLOR TO W+
  1083. @ 1,0 SAY 'DSK-CATV1.0'
  1084. @ 1,24 SAY DTOC(DATE())+' DUPE SYSTEM'
  1085. @ 1,70 SAY 'JoLie(85)'
  1086. SET COLOR TO U+
  1087. @ 2,0 SAY HEAD
  1088. SET COLOR TO W
  1089. LOCA FOR DUPE='*' .AND. ID=DSPEC
  1090. DO WHIL ID=DSPEC
  1091. ROW=ROW+1
  1092. IF ROW>=22
  1093. ROW=3
  1094. WAIT
  1095. @ 3,0 CLEAR
  1096. ENDI
  1097. @ ROW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+' '+;
  1098. ID+' '+PATH+' '+CAT
  1099. CONT
  1100. ENDD
  1101. WAIT
  1102. CASE XCHOICE=5
  1103. @ 3,0 CLEAR
  1104. @ 5,0 SAY 'Deleting all records in the catalog that are duplicates'
  1105. DELE FOR DUPE='*'
  1106. CASE XCHOICE=6
  1107. @ 3,0 CLEAR
  1108. @ 5,0 SAY 'Deleting all duplicates of '+DSPEC+'.'+DEXT
  1109. DELE FOR DUPE='*' .AND. NAME=DSPEC .AND. EXT=DEXT
  1110. CASE XCHOICE=7
  1111. @ 3,0 CLEAR
  1112. @ 5,0 SAY 'Deleting all duplicates of '+DSPEC
  1113. DELE FOR DUPE='*' .AND. PATH=DSPEC
  1114. CASE XCHOICE=8
  1115. @ 3,0 CLEAR
  1116. @ 5,0 SAY 'Deleting all duplicates of '+DSPEC
  1117. DELE FOR DUPE='*' .AND. ID=DSPEC
  1118. CASE XCHOICE=9
  1119. @ 3,0 CLEAR
  1120. STOR 2 TO ROW
  1121. SET COLOR TO W+
  1122. @ 1,0 SAY 'DSK-CATV1.0'
  1123. @ 1,24 SAY DTOC(DATE())+' DUPE SYSTEM'
  1124. @ 1,70 SAY 'JoLie(85)'
  1125. SET COLOR TO U+
  1126. @ 2,0 SAY 'NAME           SIZE     DATE     COMMENT                         ID  CAT       '
  1127. SET COLOR TO W
  1128. LOCA FOR DUPE='*'
  1129. DO WHIL DUPE='*' .AND. .NOT. EOF()
  1130. ROW=ROW+1
  1131. IF ROW>=22
  1132. ROW=3
  1133. WAIT
  1134. @ 3,0 CLEAR
  1135. ENDI
  1136. @ ROW,0 SAY NAME+'.'+EXT+' '+STR(SIZE)+' '+DTOC(DATE)+' '+;
  1137. COMMENTS+' '+ID+' '+CAT
  1138. CONT
  1139. ENDD
  1140. WAIT
  1141. ENDC
  1142. CLOSE DATABASES
  1143. RETU
  1144. PROCEDURE PRINTOP
  1145. PARAMETERS PCHOICE
  1146. SET TALK OFF
  1147. STOR 0 TO LN
  1148. STOR 1 TO PG
  1149. STOR 'DSK-CAT V1.0' TO LOGO
  1150. STOR 'Page # ' TO NEW
  1151. STOR 'NAME             SIZE     DATE    TIME   VOLUME     '+;
  1152. '  PATH ' TO HEAD4
  1153. STOR '========================================'+;
  1154. '========================================' TO HEAD5
  1155. STOR '----------------------------------------'+;
  1156. '----------------------------------------' TO HEAD6
  1157. STOR '=' TO LO
  1158. STOR ' ' TO IX
  1159. DO CASE
  1160. CASE PCHOICE=1
  1161. CLEA
  1162. ? ' PRINTING CATALOG... PLEASE WAIT'
  1163. SET DEVICE TO PRINT
  1164. USE &DP:CATALOG INDEX &IN:NAME_EXT
  1165. GO TOP
  1166. DO WHIL .NOT. EOF()
  1167. LN=LN+1
  1168. IF LN>=55
  1169. PG=PG+1
  1170. LN=1
  1171. EJEC
  1172. ENDI
  1173. IF LN=1
  1174. @ 1,0 SAY LOGO
  1175. @ 1,36 SAY DTOC(DATE())
  1176. @ 1,65 SAY NEW+STR(PG,4)
  1177. @ 4,0 SAY HEAD4
  1178. @ 5,0 SAY HEAD5
  1179. LN=6
  1180. ENDI
  1181. @ LN,0 SAY NAME+'.'+EXT
  1182. IF DUPE='*'
  1183. @ LN,12 SAY '*'
  1184. ENDI
  1185. @ LN,13 SAY STR(SIZE,8)
  1186. @ LN,23 SAY DATE
  1187. @ LN,33 SAY TIME
  1188. @ LN,40 SAY VOL
  1189. @ LN,51 SAY PATH
  1190. LN=LN+1
  1191. @ LN,22 SAY '|'+LOWER(COMMENTS)
  1192. @ LN,58 SAY '|'+'ID: '+ID
  1193. @ LN,72 SAY '|'+'CAT '+CAT
  1194. LN=LN+1
  1195. @ LN,0 SAY HEAD6
  1196. SKIP
  1197. ENDD
  1198. @ LN,79 SAY CHR(13)
  1199. SET DEVICE TO SCREEN
  1200. CLOSE DATABASES
  1201. RETU
  1202. CASE PCHOICE=2
  1203. CLEA
  1204. STOR 0 TO PSEL
  1205. SET COLOR TO W+
  1206. @ 1,0 SAY 'DSK-CATV1.0'
  1207. @ 1,36 SAY DTOC(DATE())
  1208. @ 1,70 SAY 'JoLie(85)'
  1209. SET COLOR TO W
  1210. @ 6,35 SAY '[1] Volume.'
  1211. @ 7,35 SAY '[2] ID.'
  1212. @ 20,0 SAY 'Enter choice ' GET PSEL PICTURE "9" RANGE 1,2
  1213. READ
  1214. CLEA GETS
  1215. IF PSEL=1
  1216. STOR 'VOLUME' TO IX
  1217. STOR 'VOL' TO PFIELD
  1218. STOR SPACE(11) TO PSPEC
  1219. @ 22,0 SAY 'Enter Label ' GET PSPEC
  1220. READ
  1221. CLEA GETS
  1222. ELSE
  1223. STOR 'ID' TO PFIELD,IX
  1224. STOR '    ' TO PSPEC
  1225. @ 22,0 SAY 'Enter ID ' GET PSPEC
  1226. READ
  1227. CLEA GETS
  1228. ENDI
  1229. CASE PCHOICE=3
  1230. STOR 'PATH' TO PFIELD,IX
  1231. STOR SPACE(29) TO PSPEC
  1232. @ 23,43 SAY 'Path ' GET PSPEC
  1233. READ
  1234. CLEA GETS
  1235. CASE PCHOICE=4
  1236. STOR 'EXT' TO PFIELD
  1237. STOR '   ' TO PSPEC
  1238. STOR 'EXTENSN' TO IX
  1239. @ 23,43 SAY 'Enter Ext. ' GET PSPEC
  1240. READ
  1241. CLEA GETS
  1242. CASE PCHOICE=5
  1243. STOR 'CAT' TO PFIELD
  1244. STOR '  ' TO PSPEC
  1245. STOR 'CATAGORY' TO IX
  1246. @ 23,43 SAY 'Enter Catagory ' GET PSPEC
  1247. READ
  1248. CLEA GETS
  1249. CASE PCHOICE=6
  1250. STOR '>' TO LO
  1251. STOR 'COMMENTS' TO PFIELD
  1252. STOR ' ' TO PSPEC
  1253. STOR 'NAME_EXT' TO IX
  1254. CASE PCHOICE=7
  1255. STOR 'DTOC(DATE)' TO PFIELD
  1256. STOR '          ' TO PSPEC
  1257. STOR 'NAME_EXT' TO IX
  1258. @ 23,43 SAY 'Enter Date ' GET PSPEC PICTURE "99/99/99"
  1259. READ
  1260. CLEA GETS
  1261. CASE PCHOICE=8
  1262. STOR 'DUPE' TO PFIELD
  1263. STOR '*' TO PSPEC
  1264. STOR 'DUPE' TO IX
  1265. CASE PCHOICE=9
  1266. SET TALK OFF
  1267. CLEA
  1268. STOR 'Vol:__________________________ID:_____' TO LB1
  1269. STOR '[____________________________________]' TO LB2
  1270. STOR 'Date:________________________________]' TO LB3
  1271. STOR 0 TO LAB
  1272. DO WHIL LAB<>4
  1273. STOR 0 TO CNT,AMOUNT,RW,TRIP,LAB
  1274. STOR '    ' TO REPEAT
  1275. SET DEVICE TO SCREEN
  1276. SET COLOR TO W+
  1277. @ 1,0 SAY 'D-CATV1.0'
  1278. @ 1,36 SAY DTOC(DATE())
  1279. @ 1,70 SAY 'JoLie(85)'
  1280. SET COLOR TO U+
  1281. @ 5,30 SAY 'DISK LABEL GENERATOR'
  1282. SET COLOR TO W
  1283. @ 8,33 SAY '[1] Cataloged.'
  1284. @ 9,33 SAY '[2] Blanks.'
  1285. @ 10,33 SAY '[3] 2 Accross.'
  1286. @ 11,33 SAY '[4] EXIT.'
  1287. @ 13,22 SAY '                                   '
  1288. @ 20,0 SAY 'Enter choice ' GET LAB PICTURE "9" RANGE 1,4
  1289. READ
  1290. CLEA GETS
  1291. IF LAB=4
  1292. RETU
  1293. ENDI
  1294. DO CASE
  1295. CASE LAB=1
  1296. @ 13,27 SAY 'PRINTING LABELS'
  1297. SET DEVICE TO PRINT
  1298. USE &DP:CATALOG INDEX &IN:ID
  1299. GO TOP
  1300. DO WHIL .NOT. EOF()
  1301. IF ID<>REPEAT
  1302. REPEAT=ID
  1303. TRIP=0
  1304. IF RW>=55
  1305. RW=0
  1306. EJEC
  1307. ENDI
  1308. @ RW,0 SAY 'VOL:'+VOL
  1309. @ RW,29 SAY 'ID:'+ID
  1310. DO WHIL TRIP<5
  1311. TRIP=TRIP+1
  1312. RW=RW+1
  1313. @ RW,0 SAY LB2
  1314. ENDD
  1315. RW=RW+1
  1316. @ RW,0 SAY 'Date: '+DTOC(DATE)
  1317. RW=RW+4
  1318. IF RW>=55
  1319. RW=0
  1320. EJEC
  1321. ENDI
  1322. ELSE
  1323. SKIP
  1324. ENDI
  1325. SKIP
  1326. ENDD
  1327. CLOSE DATABASES
  1328. @ RW,0 SAY CHR(13)
  1329. SET DEVICE TO SCREEN
  1330. SET BELL ON
  1331. ?? CHR(7)
  1332. SET BELL OFF
  1333. @ 13,22 SAY 'DONE'
  1334. LOOP
  1335. CASE LAB=2
  1336. @ 21,0 SAY 'How many labels do you want ' GET AMOUNT PICTURE "999";
  1337. RANGE 1,999
  1338. READ
  1339. CLEA GETS
  1340. CLEA
  1341. @ 13,27 SAY 'PRINTING LABELS'
  1342. SET DEVICE TO PRINT
  1343. DO WHIL CNT<AMOUNT
  1344. CNT=CNT+1
  1345. TRIP=0
  1346. IF RW>=55
  1347. RW=0
  1348. EJEC
  1349. ENDI
  1350. @ RW,0 SAY LB1
  1351. DO WHIL TRIP<5
  1352. TRIP=TRIP+1
  1353. RW=RW+1
  1354. @ RW,0 SAY LB2
  1355. ENDD
  1356. RW=RW+1
  1357. @ RW,0 SAY LB3
  1358. RW=RW+4
  1359. IF RW>=55
  1360. RW=0
  1361. EJEC
  1362. ENDI
  1363. ENDD
  1364. @ RW,0 SAY CHR(13)
  1365. LOOP
  1366. CASE LAB=3
  1367. @ 21,0 SAY 'How many labels do you want ' GET AMOUNT PICTURE "999";
  1368. RANGE 1,999
  1369. READ
  1370. CLEA GETS
  1371. CLEA
  1372. @ 13,27 SAY 'PRINTING LABELS'
  1373. SET DEVICE TO PRINT
  1374. DO WHIL CNT<AMOUNT
  1375. CNT=CNT+1
  1376. TRIP=0
  1377. IF RW>=55
  1378. RW=0
  1379. EJEC
  1380. ENDI
  1381. @ RW,0 SAY LB1
  1382. @ RW,40 SAY LB1
  1383. DO WHIL TRIP<5
  1384. TRIP=TRIP+1
  1385. RW=RW+1
  1386. @ RW,0 SAY LB2
  1387. @ RW,40 SAY LB2
  1388. ENDD
  1389. RW=RW+1
  1390. @ RW,0 SAY LB3
  1391. @ RW,40 SAY LB3
  1392. RW=RW+4
  1393. IF RW>=55
  1394. RW=0
  1395. EJEC
  1396. ENDI
  1397. ENDD
  1398. @ RW,0 SAY CHR(13)
  1399. LOOP
  1400. ENDC
  1401. ENDD
  1402. ENDC
  1403. CLEA
  1404. SET COLOR TO W+*
  1405. @ 24,25 SAY 'SEARCHING AND PRINTING'
  1406. SET COLOR TO W
  1407. USE &DP:CATALOG INDEX &IN:&IX
  1408. GO TOP
  1409. SET DEVICE TO PRINT
  1410. IF PCHOICE>1
  1411. SEEK PSPEC
  1412. ENDI
  1413. DO WHIL .NOT. EOF()
  1414. IF TRIM(&PFIELD)&LO TRIM(PSPEC)
  1415. LN=LN+1
  1416. IF LN>=55
  1417. PG=PG+1
  1418. LN=1
  1419. EJEC
  1420. ENDI
  1421. IF LN=1
  1422. @ 1,0 SAY LOGO
  1423. @ 1,36 SAY DTOC(DATE())
  1424. @ 1,65 SAY NEW+STR(PG,4)
  1425. @ 4,0 SAY HEAD4
  1426. @ 5,0 SAY HEAD5
  1427. LN=6
  1428. ENDI
  1429. @ LN,0 SAY NAME+'.'+EXT
  1430. IF DUPE='*'
  1431. @ LN,12 SAY '*'
  1432. ENDI
  1433. @ LN,13 SAY STR(SIZE,8)
  1434. @ LN,23 SAY DATE
  1435. @ LN,33 SAY TIME
  1436. @ LN,40 SAY VOL
  1437. @ LN,51 SAY PATH
  1438. LN=LN+1
  1439. @ LN,22 SAY '|'+LOWER(COMMENTS)
  1440. @ LN,58 SAY '|'+'ID: '+ID
  1441. @ LN,72 SAY '|'+'CAT '+CAT
  1442. LN=LN+1
  1443. @ LN,0 SAY HEAD6
  1444. SKIP
  1445. ELSE
  1446. EXIT
  1447. ENDI
  1448. ENDD
  1449. @ LN,79 SAY CHR(13)
  1450. SET DEVICE TO SCREEN
  1451. CLOSE DATABASES
  1452. RETU
  1453. PROCEDURE MENU
  1454. PARAMETERS FLAG,CHOICE,DCHOICE,PCHOICE,UCHOICE,LAST
  1455. STOR SPACE(80) TO CLEAN
  1456. @ 22,0 CLEAR
  1457. IF FLAG<0
  1458. FLAG=0
  1459. ENDI
  1460. IF FLAG=0
  1461. @ 8,0 SAY CLEAN
  1462. SET COLOR TO W+
  1463. @ 8,6 SAY CHR(25)+'MAIN MENU'+CHR(25)
  1464. SET COLOR TO W
  1465. @ 22,0 SAY 'Main choice ' GET CHOICE PICTURE "9" RANGE 0,9
  1466. READ
  1467. CLEA GETS
  1468. DO CASE
  1469. CASE CHOICE=3
  1470. FLAG=1
  1471. CASE CHOICE=4
  1472. FLAG=2
  1473. CASE CHOICE=8
  1474. FLAG=3
  1475. OTHE
  1476. FLAG=0
  1477. ENDC
  1478. @ 22,0 CLEAR
  1479. ENDI
  1480. IF FLAG=1
  1481. @ 8,0 SAY CLEAN
  1482. @ 22,0 CLEAR
  1483. SET COLOR TO W+
  1484. @ 8,22 SAY CHR(25)+'DISPLAY OPTIONS'+CHR(25)
  1485. SET COLOR TO W
  1486. @ 22,22 SAY 'Display ' GET DCHOICE PICTURE "9" RANGE 0,9
  1487. READ
  1488. CLEA GETS
  1489. DO CASE
  1490. CASE CHOICE=3
  1491. FLAG=1
  1492. CASE CHOICE=4
  1493. FLAG=2
  1494. CASE CHOICE=8
  1495. FLAG=3
  1496. OTHE
  1497. FLAG=0
  1498. ENDC
  1499. ENDI
  1500. IF FLAG=2
  1501. @ 8,0 SAY CLEAN
  1502. SET COLOR TO W+
  1503. @ 8,43 SAY CHR(25)+'PRINT OPTIONS'+CHR(25)
  1504. SET COLOR TO W
  1505. @ 22,43 SAY 'Print ' GET PCHOICE PICTURE "9" RANGE 0,9
  1506. READ
  1507. CLEA GETS
  1508. DO CASE
  1509. CASE CHOICE=3
  1510. FLAG=1
  1511. CASE CHOICE=4
  1512. FLAG=2
  1513. CASE CHOICE=8
  1514. FLAG=3
  1515. OTHE
  1516. FLAG=0
  1517. ENDC
  1518. ENDI
  1519. IF FLAG=3
  1520. @ 8,0 SAY CLEAN
  1521. SET COLOR TO W+
  1522. @ 8,59 SAY CHR(25)+'UTILITIES MENU'+CHR(25)
  1523. SET COLOR TO W
  1524. @ 22,59 SAY 'Utility ' GET UCHOICE PICTURE "9" RANGE 0,9
  1525. READ
  1526. CLEA GETS
  1527. DO CASE
  1528. CASE CHOICE=3
  1529. FLAG=1
  1530. CASE CHOICE=4
  1531. FLAG=2
  1532. CASE CHOICE=8
  1533. FLAG=3
  1534. OTHE
  1535. FLAG=0
  1536. ENDC
  1537. ENDI
  1538. RETU
  1539. RETU
  1540.  
  1541.